﻿using System;
using System.Collections.Generic;
using System.Reflection;

namespace FitNesseRunner.Model
{
	public interface IReporter
	{
		void Pass(string message, params object[] args);
		void Invoking(string className, string methodName, IEnumerable<string> parameterValues);
		void InvocationFailed(string className, string methodName, IEnumerable<string> parameterValues, Exception exception);
		void Constructing(string className);
		void Failed(object instance, string methodName, object expectedValue, object actualValue);
		void RunTest(string path);
		void FailedToConstruct(string className, Exception ex);
		void Invoking(PropertyInfo propertyInfo, string stringValue);
		void Show(string methodName, string result);
		void TestError(string message);
		void InvocationError(string message, Type objectType, string query, IEnumerable<string> parameters);
	}
}